﻿'
' Will Strohl (will.strohl@gmail.com)
' http://www.willstrohl.com
' http://dnntweet.codeplex.com
'
' Copyright (c) 2010, Will Strohl
'
' Permission is hereby granted, free of charge, to any person obtaining a copy of this 
' software and associated documentation files (the "Software"), to deal in the Software 
' without restriction, including without limitation the rights to use, copy, modify, 
' merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 
' permit persons to whom the Software is furnished to do so, subject to the following 
' conditions:
'
' The above copyright notice and this permission notice shall be included in all copies 
' or substantial portions of the Software.
'
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
' INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
' PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
' CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
' OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
'

Namespace WillStrohl.Modules.Twitter

    <Serializable()> _
    Public NotInheritable Class TweetInfo
        Implements ITweetInfo

#Region " Private Members "

        Private p_Id As String = Null.NullString
        Private p_Published As DateTime = Null.NullDate
        Private p_Link As String = Null.NullString
        Private p_Title As String = Null.NullString
        Private p_Author As AuthorInfo = Nothing
        Private p_Image As String = Null.NullString

#End Region

#Region " Constructors "

        Public Sub New()
            ' do nothing
        End Sub

        Public Sub New(ByVal Id As String, ByVal Published As DateTime, ByVal Title As String, ByVal Link As String, ByVal Image As String, ByVal Author As AuthorInfo)

            Me.p_Id = Id
            Me.p_Published = Published
            Me.p_Title = Title
            Me.p_Link = Link
            Me.p_Author = Author
            Me.p_Image = Image

        End Sub

#End Region

#Region " Properties "

        Public Property Id() As String Implements ITweetInfo.Id
            Get
                Return Me.p_Id
            End Get
            Set(ByVal value As String)
                Me.p_Id = value
            End Set
        End Property

        Public Property Published() As DateTime Implements ITweetInfo.Published
            Get
                Return Me.p_Published
            End Get
            Set(ByVal value As DateTime)
                Me.p_Published = value
            End Set
        End Property

        Public Property Link() As String Implements ITweetInfo.Link
            Get
                Return Me.p_Link
            End Get
            Set(ByVal value As String)
                Me.p_Link = value
            End Set
        End Property

        Public Property Title() As String Implements ITweetInfo.Title
            Get
                Return Me.p_Title
            End Get
            Set(ByVal value As String)
                Me.p_Title = value
            End Set
        End Property

        Public Property Author() As AuthorInfo Implements ITweetInfo.Author
            Get
                Return Me.p_Author
            End Get
            Set(ByVal value As AuthorInfo)
                Me.p_Author = value
            End Set
        End Property

        Public Property Image() As String Implements ITweetInfo.Image
            Get
                Return Me.p_Image
            End Get
            Set(ByVal value As String)
                Me.p_Image = value
            End Set
        End Property

#End Region

    End Class

End Namespace